In the “information” era, software is a kind of intelligence achievement, an invisible property, and significant to the information management and development of enterprise. Along with the considerable developments in the information security domain and the network security domain, software sold through network downloadable is broadly applied. Regardless of being a network downloadable software, or software sold in the market, how to encrypt the software and prevent it from being cracked and decrypted so as to keep the rights of the developer is the major development direction of current software encryption technology. Now, what have to be obtained are the methods to prevent any unauthorized user to access the resource, to confirm the user's status and to prevent other people reaching the security information and taking illegal uses.
Currently many network downloadable software have a free trial period, for example 30 days or uses. After the expired time, one has to pay and obtain the starting password. After entering the password, the user can continue to use the software. This is a popular manner of selling software through a network.
The conventional network downloadable software usually recognizes whether the software has been legally started or has exceeded the free trial period via a file or a tag installed in the operating system. For example, an “ini” file generated under the Windows system directory includes date information of the downloadable software, or date information written in the Windows registration table. Usually this kind of information is not created in the installation process, therefore reinstalling the downloadable program certainly cannot change the record. Only reinstalling the Windows system, or even re-formatting the entire hard disk, can erase it. However, if the user can find the file or the tag, and modify the date information, then he or she is always free to use, and never exceeds the trial period.
Moreover, because the passwords are generated by a certain algorithm, they are always valid for the released software to check passwords with the algorithm. So long as a password of the software being publicly disclosed, the encryption can no longer protect the software.
Therefore, how to provide a new method that carries on a strict certification to the user status, provides the user safe, reliable software contents while protects the software developer's rights, is a problem in the current software encryption technology that has to be solved urgently.